<%@page import="java.util.List"%>
<%@page import="java.util.ArrayList"%>
<%@page import="ca.qc.bdeb.info.pp2.tp2.application.ImageProprieteBean"%>
<%@page import="ca.qc.bdeb.info.pp2.tp2.application.Facade"%>
<%@page import="ca.qc.bdeb.info.pp2.tp2.application.ProprieteBean"%>
<%@page import="ca.qc.bdeb.info.pp2.tp2.controleur.ConstantesWeb"%>
<%@page contentType="text/html" pageEncoding="UTF-8"%>
<%@page errorPage="error.jsp" %>
<!DOCTYPE html>
<html>
    <head>
        <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
        <title>Propriété - <%=ConstantesWeb.NOM_COMPAGNIE%></title>
        <link rel="stylesheet" type="text/css" href="design.css" />
        <script type="text/javascript" src="ajax.js"></script>
        <script type="text/javascript"
                src="http://maps.googleapis.com/maps/api/js?sensor=false">
        </script>
        <%
            int id = Integer.parseInt(request.getParameter(ConstantesWeb.VALEUR_ID_PROPRIETE));

            Facade f = new Facade();
            ProprieteBean p;
            List<ImageProprieteBean> imagePropriete = null;
            try {
                imagePropriete = f.getCollectionImageProprieteSecondaire(id);
                p = f.getPropriete(id);
            } catch (Exception e) {
                out.print("<h1>Habitation invalide<h1>");
                return;
            }
            if (p == null) {
                out.print("<h1>Habitation invalide<h1>");
                return;
            }
        %>
        <script type="text/javascript">
            var geocoder;
            var map;
            function initialize() {
                geocoder = new google.maps.Geocoder();
                var latlng = new google.maps.LatLng(-34.397, 150.644);
                var myOptions = {
                    zoom: 15,
                    center: latlng,
                    mapTypeId: google.maps.MapTypeId.ROADMAP
                }
                map = new google.maps.Map(document.getElementById("map_canvas"), myOptions);
                codeAddress("<%=p.getAdresse() + " " + p.getQuartier()%>");
            }

            function codeAddress(address) {
                geocoder.geocode( { 'address': address}, function(results, status) {
                    if (status == google.maps.GeocoderStatus.OK) {
                        map.setCenter(results[0].geometry.location);
                        var marker = new google.maps.Marker({
                            map: map, 
                            position: results[0].geometry.location
                        });
                    } else {
                        alert("Geocode was not successful for the following reason: " + status);
                    }
                });
            }
        </script>
    </head>
    <body  onload="initialize()">
        <jsp:include page="header.jsp" />
        <h1>Propriété</h1>
        <%
            if (p == null)
                out.print("<h2>Erreur : il n'y a pas de propriétés avec cet identifiant</h2>");
            else {
        %>
        <a href="./<%=ConstantesWeb.PAGE_IMAGE%>?<%=ConstantesWeb.VALEUR_ID_PROPRIETE%>=<%=p.getId()%>">
            <img width="600" height="500" src="./<%=ConstantesWeb.PAGE_IMAGE%>?<%=ConstantesWeb.VALEUR_ID_PROPRIETE%>=<%=p.getId()%>"/>
        </a>
        <br/><br/><br/>
        <table>
            <tr><td align="right">Type de maison : </td><td><%=p.getTypeMaison()%></td></tr>
            <tr><td align="right">Nombre de chambres : </td><td><%=p.getNombreChambres()%> + (<%=p.getNombreChambresPossibles()%>)</td></tr>
            <tr><td align="right">Nombre de pièces : </td><td><%=p.getNombrePiece()%></td></tr>
            <tr><td align="right">Nombre de salles de bains : </td><td><%=p.getNombreSallesBains()%></td></tr>
            <tr><td align="right">Nombre d'étages : </td><td><%=p.getNombreEtages()%></td></tr>
            <tr><td align="right">Numéro d'appartement : </td><td><%=p.getNumeroAppart() != null ? p.getNumeroAppart() : ""%></td></tr>
            <tr><td align="right">Type de bâtiment : </td><td><%=p.getTypeBatiment()%></td></tr>
            <tr><td align="right">Année de construction : </td><td><%=p.getAnneeConstruction()%></td></tr>
            <tr><td align="right">Prix : </td><td><%="$" + p.getPrix()%></td></tr>
            <tr><td align="right">Dimensions : </td><td><%=p.getDimensions()%></td></tr>
            <tr><td align="right">Piscine : </td><td><%=p.getPiscine()%></td></tr>
            <tr><td align="right">Sous-sol : </td><td><%=p.getSousSol()%></td></tr>
            <tr><td align="right">Stationnement : </td><td><%=p.getStationnement()%></td></tr>
            <tr><td align="right">Place stationnement : </td><td><%=p.getPlaceStationnement()%></td></tr>
            <tr><td align="right">Garage : </td><td><%=p.getGarage()%></td></tr>
            <tr><td align="right">Description : </td><td><%=p.getDescription() != null ? p.getDescription() : ""%></td></tr>
            <tr><td align="right">Quartier : </td><td><%=p.getQuartier()%></td></tr>
            <tr><td align="right">Date d'ajout : </td><td><%=p.getDateAjout()%></td></tr>
            <tr><td align="right">Adresse : </td><td><%=p.getAdresse()%></td></tr>            
        </table>    
        <br />
        <div id="habitation">
            <a href="javascript:loadContent('?<%=ConstantesWeb.VALEUR_PIECE%>=<%=p.getId()%>', 'habitation', 'piece.jsp')">Afficher les détails des pièces</a>
        </div>
        <br />
        <div id="map_canvas" style="width:500px; height:400px"></div>
        <br /><br />
        <table>
            <%
                for (int j = 0; j < imagePropriete.size(); j++) {
                    out.print("<tr>");
                    for (int i = 0; i < 3; i++)
                        if (j < imagePropriete.size()) {
                            out.print("<td>");
                            out.print("<a href=" + ConstantesWeb.PAGE_IMAGE + "?"
                                    + ConstantesWeb.VALEUR_ID_IMAGE_PROPRIETE_SECONDAIRE + "="
                                    + imagePropriete.get(j).getId() + ">");
                            out.print("<img width=\"350\" height=\"275\" src=\"./"
                                    + ConstantesWeb.PAGE_IMAGE + "?"
                                    + ConstantesWeb.VALEUR_ID_IMAGE_PROPRIETE_SECONDAIRE + "="
                                    + imagePropriete.get(j).getId() + "\"/>");
                            out.print("</a>");
                            out.print("</td>");
                            j++;
                        }
                    out.print("</tr>");
                }

            %>
        </table>
        <%}%>
    </body>
</html>
